// 权限管理

import { getAllRole, getUserRole } from '@/api/login/index'

const roleInfo = {

    state: () => ({
        userPermissions: [],          // 保存登录用户的角色权限
    }),

    mutations: {
        //保存角色信息
        setRoleInfo(state, e) {
            state.roleInfoList = e;
        },

        //保存登录用户所拥有的权限信息
        setUserPermission(state, e) {
            state.userPermissions = e;
        }
    },

    actions: {

        // 异步获取登录用户角色
        getRoleInfo(context) {
            return new Promise((resolve, reject) => {
                getAllRole().then(res => {
                    context.commit('setRoleInfo', res.data.data)
                    resolve(res)
                }).catch(err => {
                    reject(err)
                })
            })
        },

        // 异步获取登录用户权限
        saveUserPermissions(context) {
            return new Promise((resolve, reject) => {
                getUserRole().then( res => {
                    context.commit('setUserPermission', res.data.data)

                    // 保存用户权限
                    sessionStorage.setItem( "userPermissions", JSON.stringify(res.data.data) );
                    resolve(res)
                } ).catch(err => {
                    reject(err)
                })
            })
        },
    }
}

export default roleInfo